{
struct sk_buff *skb;
u32 src_ip, dst_ip;
- unsigned char dst_hw[ETH_ALEN];
-
- memset(dst_hw, 0xff, ETH_ALEN);
dst_ip = INADDR_BROADCAST;
src_ip = inet_select_addr(dev, dst_ip, RT_SCOPE_LINK);
- skb = arp_create(ARPOP_REQUEST, ETH_P_ARP,
+ skb = arp_create(ARPOP_REPLY, ETH_P_ARP,
dst_ip, dev, src_ip,
- dst_hw, dev->dev_addr, NULL);
+ /*dst_hw*/ NULL, /*src_hw*/ NULL,
+ /*target_hw*/ dev->dev_addr);
if ( skb == NULL )
return -ENOMEM;
virt_to_phys(&machine_to_phys_mapping[0])>>PAGE_SHIFT;
SHARE_PFN_WITH_DOMAIN(virt_to_page(d->shared_info), d);
machine_to_phys_mapping[virt_to_phys(d->shared_info) >>
- PAGE_SHIFT] = 0x80000000UL; /* debug */
+ PAGE_SHIFT] = INVALID_P2M_ENTRY;
d->mm.perdomain_pt = (l1_pgentry_t *)alloc_xenheap_page();
memset(d->mm.perdomain_pt, 0, PAGE_SIZE);
machine_to_phys_mapping[virt_to_phys(d->mm.perdomain_pt) >>
- PAGE_SHIFT] = 0x0fffdeadUL; /* debug */
+ PAGE_SHIFT] = INVALID_P2M_ENTRY;
}
int arch_final_setup_guestos(struct domain *d, full_execution_context_t *c)
(void *)alloc_xenheap_page();
ptwr_info[i].ptinfo[PTWR_PT_INACTIVE].page =
(void *)alloc_xenheap_page();
+ machine_to_phys_mapping[virt_to_phys(
+ ptwr_info[i].ptinfo[PTWR_PT_ACTIVE].page)>>PAGE_SHIFT] =
+ INVALID_P2M_ENTRY;
+ machine_to_phys_mapping[virt_to_phys(
+ ptwr_info[i].ptinfo[PTWR_PT_INACTIVE].page)>>PAGE_SHIFT] =
+ INVALID_P2M_ENTRY;
}
return 0;
spin_unlock(&(_dom)->page_alloc_lock); \
} while ( 0 )
+#define INVALID_P2M_ENTRY (~0UL)
+
extern struct pfn_info *frame_table;
extern unsigned long frame_table_size;
extern unsigned long max_page;